package tech.aistar.service;

import tech.aistar.pojo.User;
import tech.aistar.pojo.dto.UserRegisterDTO;
import tech.aistar.pojo.result.ResultReturn;

public interface UserService {
    /**
     * 用户名登录
     * @param user
     * @return
     */
    ResultReturn loginByName(User user);

    /**
     * 手机发送注册验证码
     * @param phone
     * @return
     */
    ResultReturn sendCodeRegisterPhone(String phone);

    /**
     * 邮箱发送注册验证码
     * @param email
     * @return
     */
    ResultReturn sendCodeRegisterEmail(String email) ;

    /**
     * 用户注册
     * @param userRegisterDTO
     * @return
     */
    ResultReturn register(UserRegisterDTO userRegisterDTO);

    /**
     * 使用验证码登录
     * @param userRegisterDTO
     * @return
     */
    ResultReturn loginByCode(UserRegisterDTO userRegisterDTO);

    /**
     * 手机发送登录验证码
     * @param phone
     * @return
     */
    ResultReturn sendCodeLoginPhone(String phone);

    /**
     * 邮箱发送登录验证码
     * @param email
     * @return
     */
    ResultReturn sendCodeLoginEmail(String email);
}
